| Descrizione |
|---|
| Questa macro modifica il cursore del mouse in "ForbiddenCursor" se una selezione viene duplicata. Versione macro: 00.00 Ultima modifica: 2016-06-06 Versione FreeCAD: 0.16 Download: Icona della barra degli strumenti Autore: Mario52 |
| Autore |
| Mario52 |
| Download |
| Icona della barra degli strumenti |
| Link |
| Raccolta di macro Come installare le macro Personalizzare la toolbar |
| Versione macro |
| 00.00 |
| Data ultima modifica |
| 2016-06-06 |
| Versioni di FreeCAD |
| 0.16 |
| Scorciatoia |
| Nessuna |
| Vedere anche |
| Nessuno |
Questa macro modifica il cursore del mouse in "ForbiddenCursor" se una selezione viene duplicata.
Avviare la macro, la macro rimane residente in memoria.
Seleziona gli oggetti. Se un oggetto selezionato è un duplicato, viene visualizzato il cursore del mouse "ForbiddenCursor".
Icona per barra degli strumenti
Macro_Duplicate_Selection.FCMacro
# -*- coding: utf-8 -*-
import FreeCADGui
import PySide
from PySide import QtGui ,QtCore
from PySide.QtGui import *
from PySide.QtCore import *
__title__ = "Macro_Duplicate_Selection"
__author__ = "Mario52"
__url__ = "https://freecad.org/index-fr.html"
__version__ = "00.00"
__date__ = "06/06/2016"
__Help__ = "Start the macro select the object IN THE 3D VIEW the ForbiddenCursor stay if the selection is duplicate"
def selectionObject():
sel = FreeCADGui.Selection.getSelection()
x = []
del x[:]
for a in range(len(sel)):
x.append(sel[a].Name)
doublet = 0
for i in range(len(sel)):
for ii in range((i+1),len(sel)):
if x[i] == x[ii]:
doublet = 1
break
if doublet == 1:
QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ForbiddenCursor))
# FreeCAD.Console.PrintError("HELP "+sel[-1].Name+" duplicate selection"+"\n")
else:
QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
class SelObserver:
def addSelection(self,doc,obj,sub,pnt): # Selection
selectionObject()
def removeSelection(self,doc,obj,sub): # Effacer l'objet salectionne
selectionObject()
def setPreselection(self, doc, obj, sub):
selectionObject()
def clearSelection(self,doc): # Si clic sur l'ecran, effacer la selection
selectionObject()
# def setSelection(self,doc): # Selection dans Combo View pour quitter la fonction
# App.Console.PrintMessage("Fin Macro_Duplicate"+"\n")
# QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
# FreeCADGui.Selection.removeObserver(s)# desinstalle la fonction residente
s=SelObserver()
FreeCADGui.Selection.addObserver(s) # installe la fonction en mode resident
La discussione Duplicate Objects when more than one face selected nel forum di FreeCAD.